home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / basic / comndlgs.zip / DIALOGS.BAS < prev    next >
BASIC Source File  |  1992-07-25  |  10KB  |  305 lines

  1. Rem Demo for accessing Win 3.1 Common Dialogs
  2. Rem Author: Costas Kitsos, CIS 73667,1755
  3. Rem Revision: 1.00.00, July 4 1992
  4.  
  5. Rem Modified: L.J. Johnson, CIS 70700,1334
  6. Rem Revision: 1.10.00, July 25 1992
  7.  
  8. DefInt A-Z
  9.  
  10.  
  11. ' --------------------------------------------------------
  12. ' Get any errors during execution of common dialogs
  13. ' --------------------------------------------------------
  14. Declare Function CommDlgExtendedError Lib "COMMDLG.DLL" () As Long
  15. ' --------------------------------------------------------
  16.  
  17.  
  18. ' --------------------------------------------------------
  19. ' File Open/Save structures and declarations
  20. ' --------------------------------------------------------
  21. Type OPENFILENAME
  22.      lStructSize As Long
  23.      hwndOwner As Integer
  24.      hInstance As Integer
  25.      lpstrFilter As Long
  26.      lpstrCustomFilter As Long
  27.      nMaxCustFilter As Long
  28.      nFilterIndex As Long
  29.      lpstrFile As Long
  30.      nMaxFile As Long
  31.      lpstrFileTitle As Long
  32.      nMaxFileTitle As Long
  33.      lpstrInitialDir As Long
  34.      lpstrTitle As Long
  35.      Flags As Long
  36.      nFileOffset As Integer
  37.      nFileExtension As Integer
  38.      lpstrDefExt As Long
  39.      lCustData As Long
  40.      lpfnHook As Long
  41.      lpTemplateName As Long
  42. End Type
  43.  
  44. Declare Function GetOpenFileName Lib "COMMDLG.DLL" (pOPENFILENAME As OPENFILENAME) As Integer
  45. Declare Function GetSaveFileName Lib "COMMDLG.DLL" (pOPENFILENAME As OPENFILENAME) As Integer
  46. Declare Function GetFileTitle Lib "COMMDLG.DLL" (ByVal FName As String, ByVal Title As String, Size As Integer)
  47.  
  48. Global Const OFN_READONLY = &H1
  49. Global Const OFN_OVERWRITEPROMPT = &H2
  50. Global Const OFN_HIDEREADONLY = &H4
  51. Global Const OFN_NOCHANGEDIR = &H8
  52. Global Const OFN_SHOWHELP = &H10
  53. Global Const OFN_ENABLEHOOK = &H20
  54. Global Const OFN_ENABLETEMPLATE = &H40
  55. Global Const OFN_ENABLETEMPLATEHANDLE = &H80
  56. Global Const OFN_NOVALIDATE = &H100
  57. Global Const OFN_ALLOWMULTISELECT = &H200
  58. Global Const OFN_EXTENSIONDIFFERENT = &H400
  59. Global Const OFN_PATHMUSTEXIST = &H800
  60. Global Const OFN_FILEMUSTEXIST = &H1000
  61. Global Const OFN_CREATEPROMPT = &H2000
  62. Global Const OFN_SHAREAWARE = &H4000
  63. Global Const OFN_NOREADONLYRETURN = &H8000
  64. Global Const OFN_NOTESTFILECREATE = &H10000
  65.  
  66. Global Const OFN_SHAREFALLTHROUGH = 2
  67. Global Const OFN_SHARENOWARN = 1
  68. Global Const OFN_SHAREWARN = 0
  69. ' --------------------------------------------------------
  70.  
  71.  
  72. ' --------------------------------------------------------
  73. 'ChooseColor structure and function declarations
  74. ' --------------------------------------------------------
  75. Type ChooseColor
  76.      lStructSize As Long
  77.      hwndOwner As Integer
  78.      hInstance  As Integer
  79.      RgbResult As Long
  80.      lpCustColors As Long
  81.      Flags As Long
  82.      lCustData As Long
  83.      lpfnHook As Long
  84.      lpTemplateName As Long
  85. End Type
  86.  
  87. Declare Function ChooseColor Lib "COMMDLG.DLL" (pCHOOSECOLOR As ChooseColor) As Integer
  88.  
  89. Global Const CC_RGBINIT = &H1
  90. Global Const CC_FULLOPEN = &H2
  91. Global Const CC_PREVENTFULLOPEN = &H4
  92. Global Const CC_SHOWHELP = &H8
  93. Global Const CC_ENABLEHOOK = &H10
  94. Global Const CC_ENABLETEMPLATE = &H20
  95. Global Const CC_ENABLETEMPLATEHANDLE = &H40
  96. ' --------------------------------------------------------
  97.  
  98.  
  99. ' --------------------------------------------------------
  100. 'ChooseFont structure and function declarations
  101. ' --------------------------------------------------------
  102. Type ChooseFont
  103.     lStructSize As Long
  104.     hwndOwner As Integer
  105.     hDC As Integer
  106.     lpLogFont As Long
  107.     iPointSize As Integer
  108.     Flags As Long
  109.     rgbColors As Long
  110.     lCustData As Long
  111.     lpfnHook As Long 'Integer
  112.     lpTemplateName As Long
  113.     hInstance  As Integer
  114.     lpszStyle As Long
  115.     nfonttype As Integer
  116.     nSizeMin As Integer
  117.     nSizeMax As Integer
  118. End Type
  119.  
  120. Declare Function ChooseFont Lib "COMMDLG.DLL" (pCHOOSEFONT As ChooseFont) As Integer
  121.  
  122. Global Const CF_SCREENFONTS = &H1&
  123. Global Const CF_PRINTERFONTS = &H2&
  124. Global Const CF_BOTH = (CF_SCREENFONTS Or CF_PRINTERFONTS)
  125. Global Const CF_SHOWHELP = &H4&
  126. Global Const CF_ENABLEHOOK = &H8&
  127. Global Const CF_ENABLETEMPLATE = &H10&
  128. Global Const CF_ENABLETEMPLATEHANDLE = &H20&
  129. Global Const CF_INITTOLOGFONTSTRUCT = &H40&
  130. Global Const CF_USESTYLE = &H80&
  131. Global Const CF_EFFECTS = &H100&
  132. Global Const CF_APPLY = &H200&
  133. Global Const CF_ANSIONLY = &H400&
  134. Global Const CF_NOVECTORFONTS = &H800&
  135. Global Const CF_NOOEMFONTS = CF_NOVECTORFONTS
  136. Global Const CF_NOSIMULATIONS = &H1000&
  137. Global Const CF_LIMITSIZE = &H2000&
  138. Global Const CF_FIXEDPITCHONLY = &H4000&
  139. Global Const CF_WYSIWYG = &H8000&  'must also have CF_SCREENFONTS and CF_PRINTERFONTS
  140. Global Const CF_FORCEFONTEXIST = &H1000&
  141. Global Const CF_SCALABLEONLY = &H2000&
  142. Global Const CF_TTONLY = &H4000&
  143. Global Const CF_NOFACESEL = &H8000&
  144. Global Const CF_NOSTYLESEL = &H100000
  145. Global Const CF_NOSIZESEL = &H200000
  146.  
  147. Global Const SIMULATED_FONTTYPE = &H8000
  148. Global Const PRINTER_FONTTYPE = &H4000
  149. Global Const SCREEN_FONTTYPE = &H2000
  150. Global Const BOLD_FONTTYPE = &H100
  151. Global Const ITALIC_FONTTYPE = &H200
  152. Global Const REGULAR_FONTTYPE = &H400
  153.  
  154. Global Const WM_CHOOSEFONT_GETLOGFONT = (&H400 + 1) 'WM_USER + 1
  155.  
  156. Global Const LBSELCHSTRING = "commdlg_LBSelChangedNotify"
  157. Global Const SHAREVISTRING = "commdlg_ShareViolation"
  158. Global Const FILEOKSTRING = "commdlg_FileNameOK"
  159. Global Const COLOROKSTRING = "commdlg_ColorOK"
  160. Global Const SETRGBSTRING = "commdlg_SetRGBColor"
  161. Global Const FINDMSGSTRING = "commdlg_FindReplace"
  162. Global Const HELPMSGSTRING = "commdlg_help"
  163.  
  164. Global Const CD_LBSELNOITEMS = -1
  165. Global Const CD_LBSELCHANGE = 0
  166. Global Const CD_LBSELSUB = 1
  167. Global Const CD_LBSELADD = 2
  168. ' --------------------------------------------------------
  169.  
  170.  
  171. ' --------------------------------------------------------
  172. 'Printer related structures and function declarations
  173. ' --------------------------------------------------------
  174. Type PrintDlg
  175.     lStructSize As Long
  176.     hwndOwner As Integer
  177.     hDevMode As Integer
  178.     hDevNames As Integer
  179.     hDC As Integer
  180.     Flags As Long
  181.     nFromPage As Integer
  182.     nToPage As Integer
  183.     nMinPage As Integer
  184.     nMaxPage As Integer
  185.     nCopies As Integer
  186.     hInstance As Integer
  187.     lCustData As Long
  188.     lpfnPrintHook As Long
  189.     lpfnSetupHook As Long
  190.     lpPrintTemplateName As Long
  191.     lpSetupTemplateName As Long
  192.     hPrintTemplate As Integer
  193.     hSetupTemplate As Integer
  194. End Type
  195.  
  196. Declare Function PrintDlg Lib "COMMDLG.DLL" (pPrintDLG As PrintDlg) As Integer
  197.  
  198. Global Const PD_ALLPAGES = &H0
  199. Global Const PD_SELECTION = &H1
  200. Global Const PD_PAGENUMS = &H2
  201. Global Const PD_NOSELECTION = &H4
  202. Global Const PD_NOPAGENUMS = &H8
  203. Global Const PD_COLLATE = &H10
  204. Global Const PD_PRINTTOFILE = &H20
  205. Global Const PD_PRINTSETUP = &H40
  206. Global Const PD_NOWARNING = &H80
  207. Global Const PD_RETURNDC = &H100
  208. Global Const PD_RETURNIC = &H200
  209. Global Const PD_RETURNDEFAULT = &H400
  210. Global Const PD_SHOWHELP = &H800
  211. Global Const PD_ENABLEPRINTHOOK = &H1000
  212. Global Const PD_ENABLESETUPHOOK = &H2000
  213. Global Const PD_ENABLEPRINTTEMPLATE = &H4000
  214. Global Const PD_ENABLESETUPTEMPLATE = &H8000
  215. Global Const PD_ENABLEPRINTTEMPLATEHANDLE = &H10000
  216. Global Const PD_ENABLESETUPTEMPLATEHANDLE = &H20000
  217. Global Const PD_USEDEVMODECOPIES = &H40000
  218. Global Const PD_DISABLEPRINTTOFILE = &H80000
  219. Global Const PD_HIDEPRINTTOFILE = &H100000
  220.  
  221. Type DEVNAMES
  222.     wDriverOffset As Integer
  223.     wDeviceOffset As Integer
  224.     wOutputOffset As Integer
  225.     wDefault As Integer
  226. End Type
  227.  
  228. Global Const DN_DEFAULTPRN = &H1
  229. ' --------------------------------------------------------
  230.  
  231.  
  232. '************** end of Common Dialogs Declares ***********
  233.  
  234.  
  235. ' --------------------------------------------------------
  236. ' GLOBAL MEMORY Stuff
  237. ' --------------------------------------------------------
  238. Declare Function GlobalAlloc Lib "Kernel" (ByVal wFlags As Integer, ByVal dwBytes As Long) As Integer
  239. Declare Function GlobalFree Lib "Kernel" (ByVal hMem As Integer) As Integer
  240. Declare Function GlobalLock Lib "Kernel" (ByVal hMem As Integer) As Long
  241. Declare Function GlobalUnlock Lib "Kernel" (ByVal hMem As Integer) As Integer
  242.  
  243. Global Const GMEM_MOVEABLE = &H2
  244. Global Const GMEM_ZEROINIT = &H40
  245. Global Const GHND = (GMEM_MOVEABLE Or GMEM_ZEROINIT)
  246.  
  247. Declare Sub hmemcpy Lib "Kernel" (lpDest As Any, lpSource As Any, ByVal dwBytes As Long)
  248. ' --------------------------------------------------------
  249.  
  250.  
  251. ' --------------------------------------------------------
  252. ' FONT STUFF
  253. ' --------------------------------------------------------
  254. Global Const LF_FACESIZE = 32
  255.  
  256. Type LogFont
  257.     lfHeight As Integer
  258.     lfWidth As Integer
  259.     lfEscapement As Integer
  260.     lfOrientation As Integer
  261.     lfWeight As Integer
  262.     lfItalic As String * 1
  263.     lfUnderline As String * 1
  264.     lfStrikeOut As String * 1
  265.     lfCharSet As String * 1
  266.     lfOutPrecision As String * 1
  267.     lfClipPrecision As String * 1
  268.     lfQuality As String * 1
  269.     lfPitchAndFamily As String * 1
  270.     lfFaceName As String * LF_FACESIZE
  271. End Type
  272.  
  273. Global Const LOGPIXELSY = 90    '  Logical pixels/inch in Y
  274. Declare Function GetDeviceCaps Lib "GDI" (ByVal hDC As Integer, ByVal nIndex As Integer) As Integer
  275. ' --------------------------------------------------------
  276.  
  277.  
  278. ' --------------------------------------------------------
  279. ' PRINTER stuff
  280. ' --------------------------------------------------------
  281. Declare Function DeleteDC Lib "GDI" (ByVal hDC As Integer) As Integer
  282.  
  283. Type DevMode
  284.           dmDeviceName As String * 32
  285.           dmSpecVersion As Integer
  286.           dmDriverVersion As Integer
  287.           dmSize As Integer
  288.           dmDriverExtra As Integer
  289.           dmFields As Long
  290.           dmOrientation As Integer
  291.           dmPaperSize As Integer
  292.           dmPaperLength As Integer
  293.           dmPaperWidth As Integer
  294.           dmScale As Integer
  295.           dmCopies As Integer
  296.           dmDefaultSource As Integer
  297.           dmPrintQuality As Integer
  298.           dmColor As Integer
  299.           dmDuplex As Integer
  300.           dmYResolution As Integer
  301.           dmTTOption As Integer
  302. End Type
  303. ' --------------------------------------------------------
  304.  
  305.